package com.niodata.dp.core;

public class ConfigurationKeys {

  public static final String KERBEROS_ENABLED = "kerberos.enabled";
  public static final String HADOOP_HOME = "hadoop.home";
  public static final String SPARK_HOME = "spark.home";
  public static final String HIVE_HOME = "hive.home";
  public static final String HIVE_SITE_PATH = "hive.site";
  public static final String HIVE_LOGIN_USER = "hive.login.user";
  public static final String HIVE_LOGIN_USER_KEYTAB = "hive.login.user.keytab";
  public static final String HIVE_DB_ROOT_LOCATION = "hive.db.root.location";
  public static final String HIVE_AUTH_GRANTOR = "hive.auth.grantor";
  public static final String HDFS_SUPER_USER = "hdfs.super.user";
  public static final String HDFS_SUPER_GROUP = "hdfs.super.group";
  public static final String HDFS_URI = "hdfs.uri";
  public static final String HDFS_PROXY_USER = "hdfs.proxy.user";
  public static final String HDFS_PROXY_USER_KEYTAB = "hdfs.proxy.user.keytab";
  public static final String DP_HDFS_ROOT_DIR = "dp.hdfs.root.dir";
  public static final String AZKABAN_SERVER = "az.serverurl";
  public static final String AZKABAN_USER = "az.user";
  public static final String AZKABAN_PASSWORD = "az.password";
  public static final String AZKABAN_EXECUTOR_HOME = "az.execHome";
  public static final String TASK_API_SERVER = "api.server";
  public static final String TASK_API_SERVER_PORT = "api.server.port";
  public static final String TASK_PACKAGE_DIR = "package.dir";
  public static final String HDFS_PACKAGE_DIR = "hdfs.package.dir";
  public static final String HDFS_PACKAGE_USER_KEYTAB = "hdfs.package.user.keytab";
  public static final String HDFS_PACKAGE_USER = "hdfs.package.user";
  public static final String YARN_RM_HOSTS = "yarn.resourcemanager.hosts";
  public static final String HDFS_SITE_XML_PATH = "hdfs.site.xml.path";
  public static final String PROMETHEUS_YAML_PATH = "prometheus.yaml.path";
  public static final String YARN_SITE_XML_PATH = "yarn.site.xml.path";
  public static final String HOSTS_PATH = "hosts.path";
  public static final String SERVICE_TOPOLOGY_PATH = "service.topology.path";
  public static final String EMQ_USER = "emq.user";
  public static final String EMQ_PASSWORD = "emq.password";
  public static final String EMQ_PORT = "emq.port";
  public static final String MONITOR_SERVER = "monitor.server.address";
  public static final String MONITOR_SERVER_PORT = "monitor.server.port";
  public static final String MONITOR_TASK_URL = "monitor.task.url";
  public static final String LDAP_SERVER_URL = "ldap.url";
  public static final String LDAP_MANAGER_DN = "ldap.manager.dn";
  public static final String LDAP_MANAGER_PASSWORD = "ldap.manager.password";
  public static final String LDAP_USER_DN_PATTERN = "ldap.user.dn.pattern";
  public static final String LDAP_SEARCH_BASE = "ldap.search.base";
  public static final String APP_ID = "app.id";
  public static final String APP_NAME = "app.name";
  public static final String KERBEROS_CONF = "krb5.conf";
  public static final String SECURITY_AUTH_MODE = "security.auth.mode";
  public static final String PLUGIN_HUB_URL = "plugin.hub.url";
  public static final String SSH_USER = "ssh.user";
  public static final String SSH_PASSWORD = "ssh.password";
  public static final String SSH_IDRSA_PATH = "ssh.idrsa.path";
  public static final String SSH_PORT = "ssh.port";
  public static final String REDIS_IP = "redis.ip";
  public static final String REDIS_PORT = "redis.port";
  public static final String REDIS_PASSWORD = "redis.password";
  public static final String MOS_PRIVATE_ENDPOINTS = "mos.endpoints.private";
  public static final String MOS_PUBLIC_ENDPOINTS = "mos.endpoints.public";
  public static final String PRESTO_SERVER = "presto.server";
  public static final String DW_LIFECYCLE_AUTO_START = "dw.lifecycle.auto.start";
  public static final String PRESTO_USER = "presto.user";
  public static final String PRESTO_PASSWORD = "presto.password";
  public static final String ZEPPELIN_URL = "zeppelin.url";


  public static final String DW_QUERY_ROWS_LIMIT = "dw.query.rows.limit";

  public static final String VISUALIZATION_AUTO_REFRESH_CACHE = "visualization.auto.refresh.cache";

  public static final String HADOOP_SECURITY_TYPE = "hadoop.security.type";//kerberos simple
  public static final String HADOOP_SECURITY_KERBEROS = "kerberos";
  public static final String HADOOP_SECURITY_SIMPLE = "simple";

  public static final String TASK_RUN_AS_USER_ENABLED = "task.runas.user.enabled";

  public static final String HADOOP_HA_ENABLED = "hadoop.ha.enabled"; // true/false

  public static final String HADOOP_ENABLED = "hadoop.enabled"; // true/false

  //Script Engine config key
  public static final String SCRIPT_ENGINE_STORAGE_TYPE = "script.engine.storage.type";
  public static final String SCRIPT_ENGINE_STORAGE_DB = "script.engine.storage.db";
  public static final String SCRIPT_ENGINE_STORAGE_USER = "script.engine.storage.user";
  public static final String SCRIPT_ENGINE_STORAGE_PASSWD = "script.engine.storage.password";
  public static final String SCRIPT_ENGINE_STORAGE_PORT = "script.engine.storage.port";
  public static final String SCRIPT_ENGINE_STORAGE_MAX_CONNECTIONS
        = "script.engine.storage.max.connections";
  public static final String SCRIPT_ENGINE_PYTHON = "script.engine.python";
  public static final String SCRIPT_ENGINE_PYTHON_EXEC_DIR = "script.engine.python.exec.dir";
  public static final String SCRIPT_ENGINE_USE_DP_HDFS = "script.engine.use.dp.hdfs";
  public static final String SCRIPT_ENGINE_NATIVE_LIB = "script.engine.native.lib";
  public static final String SCRIPT_ENGINE_EXEC_AS_USER = "script.engine.exec.as.user";

  //dw config key
  public static final String DEFAULT_DS_MYSQL_URL = "default.datasource.mysql.jdbcUrl";
  public static final String DEFAULT_DS_MYSQL_USERNAME = "default.datasource.mysql.username";
  public static final String DEFAULT_DS_MYSQL_PASSWORD = "default.datasource.mysql.password";
  public static final String DW_TEMP_DIR = "dw.temp.dir";
  public static final String DW_TEMP_CSVOREXCLE_DIR = "dw.temp.csvorexcle.dir";
  public static final String DW_MAX_ASYNC_DATA_EXPORT_LIMIT = "dw.async.data.export.limit";

  //node config key
  public static final String NODE_HTML2CANVAS_PROXY = "node.html2canvas.proxy";


  public static final String FILE_PREVIEW_MAXSIZE = "file.preview.max.size";

  public static final long FILE_PREVIEW_DEFAULT_MAXSIZE = 1024 * 1024 * 20;


  /**
   * prometheus config.
   */
  public static final String PROMETHEUS_SERVER = "prometheus.server";
  public static final String PROMETHEUS_PORT = "prometheus.port";
  public static final String PROMETHEUS_BASEURL = "prometheus.baseUrl";
  public static final String PROMETHEUS_CLUSTERS = "prometheus.clusters";

  public static final String SYSTEM_SUPERADMIN_INIT_PWD = "sys.superadmin.pwd";
  public static final String SYSTEM_GROUP_INIT_PWD = "sys.group.init.pwd";

  //ElasticSearch config
  public static final String ELASTIC_SEARCH_REST_URIS = "elasticsearch.rest.uris";
  public static final String ELASTIC_SEARCH_REST_USERNAME = "elasticsearch.rest.username";
  public static final String ELASTIC_SEARCH_REST_PASSWORD = "elasticsearch.rest.password";
  public static final String ELASTIC_SEARCH_ANALYZER = "elasticsearch.analyzer";
  public static final String ELASTIC_SEARCH_SEARCH_ANALYZER = "elasticsearch.search.analyzer";

  private ConfigurationKeys() {
  }

}
